package regexp;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * Created with IntelliJ IDEA
 * Description:正则限定符
 * User:22954
 * Date:2024-05-27
 * Time:16:25
 */
public class Rule3 {
    /*
    {n}----匹配的前置字符(串)必须为n个
    {n,}----匹配的前置字符(串)至少为n个
    {n,m}----匹配的前置字符(串)至少为n个,至多为m个
    *----匹配的前置字符(串)可重复至n次
    +----匹配的前置字符
    ?----匹配的前置字符(串)为至1次
    Java的正则匹配采用贪心匹配,如{n,} {n,m} * + ? 都会尽可能匹配到最大数量
     */
    public static void main(String[] args) {
        String content = "aaaaa123333333";
        String regex = "a{3}";//匹配 aaa
        regex = "\\d{3}";//匹配 任意三个数字字符
        regex = "\\d{2,}";//匹配 任意数字字符且不少于2个
        regex = "3{3,5}";//匹配 最大不超过5个，最少不超过3个的3字符
        regex = "3+";//匹配 不少于1个的3
        regex = "a*";//匹配 0至任意个a
        regex = "a1?";//匹配 a后面接上0至1个的1

        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(content);
        while(matcher.find()){
            System.out.println(matcher.group(0));
        }
    }
}
